\section{Performance} \label{performance}

This chapter describes three performance test, which are exemplary for the system running on its limits.
The hardware and the SAL-T testing parameters for each of the test cases were the same. It is listed in the following two tables. The DataTurbine Parameters changed for the three tests and are therefore responsible for the outcomes.
Before each test the software was restarted to get an equal environment. For each test case the java virtual machine performance statistics are provided in a screenshot.

Only the data producer was tested, because it is the critical part of the software. Once data is in the turbine it may take a while to read it and store it in SRB.

\begin{tabular}{| p{0.2\textwidth} | p{0.5\textwidth} |}%
\hline%
%\multicolumn{2}{|c|}{#1} \\ % title centered
\sffamily\textbf{Hardware} & \\ %title as row
\hline%
\sffamily RAM & 1 GByte\\%
\hline%
\sffamily Harddrive & 64 GByte\\%
\hline%
\sffamily Processor & Pentium4 3GHz DualCore\\%
\hline%
\end{tabular}%

\begin{tabular}{| p{0.2\textwidth} | p{0.5\textwidth} |}%
\hline%
%\multicolumn{2}{|c|}{#1} \\ % title centered
\sffamily\textbf{SAL-T} & \\ %title as row
\hline%
\sffamily Channels & 5000 \\%
\hline%
\sffamily Packets & 25000000 each 174 kByte\\%
\hline%
\sffamily Data Size & 25000000 x 174 Bytes = 4.051 GByte\\%
\hline%
\end{tabular}%


\subsection{TEST1}

\begin{tabular}{| p{0.2\textwidth} | p{0.5\textwidth} |}%
\hline%
\sffamily\textbf{Data Turbine} & \\ 
\hline%
\sffamily JVM Heap Size & 1 GByte\\%
\hline%
\sffamily CACHESIZE & 5000 \\%
\hline%
\sffamily ARCHIVESIZE & 20000 \\%
\hline%
\sffamily ARCHIVEMODE & append \\%
\hline%
\end{tabular}%

After half an hour we terminated the test, because no more packets were sent to the DataTurbine for the last 14 minutes. The hard drive was extremely busy, even minutes after we stopped the test case and finally the DataTurbine. The hard drive seemed to be the bottleneck.

\noindent Packets sent: 692709 (2,8\%)

It turned out that the archive mechanism stored files only some kBytes in size. Alltogether 439 MB ware archived - the 2,8\% of the packets needed more than 10\% of the overall data! This would mean the data size is more than trippled, when it is archived in the DataTurbine.

The hard drive was extensively used by the archive mechanism, because very many but small files were written to disk.

\begin{figure}[!h]
 \centering
 \includegraphics[width=0.6\textwidth]{figures/Test1.png}
 \caption{Test1}
 \label{fig:test1}
\end{figure}


\subsection{TEST2}

The Archiving was turned off to see if the archiving caused the trouble with the hard drive.

\begin{tabular}{| p{0.2\textwidth} | p{0.5\textwidth} |}%
\hline%
\sffamily\textbf{Data Turbine} & \\ 
\hline%
\sffamily JVM Heap Size & 1 GByte\\%
\hline%
\sffamily ARCHIVEMODE & none \\%
\hline%
\end{tabular}%

After three Minutes no more packets were sent, the test case was cancelled after six minutes. The hard drive was very busy again.

\noindent Packets sent: 1160492 (4,6\%)

Also after three minutes the max heap size was reached. As in Test one the Heap size was equal to the physical RAM size, which means that the harddrive could have been very busy swapping system memory while dataturbine extensively the Java memory. The hard drive was still extremely busy, even minutes after we stopped salt and the Data Turbine.


\begin{figure}[!h]
 \centering
 \includegraphics[width=0.6\textwidth]{figures/Test2.png}
 \caption{Test2}
 \label{fig:test2}
\end{figure}


\subsection{TEST3}

In this test archiving was turned off and the heap size of the java virtual machine was reduced to 512 MBytes, so that there should be no problem with swapping or archiving.

\begin{tabular}{| p{0.2\textwidth} | p{0.5\textwidth} |}%
\hline%
\sffamily\textbf{Data Turbine} & \\ 
\hline%
\sffamily JVM Heap Size & 512 MByte\\%
\hline%
\sffamily ARCHIVEMODE & none \\%
\hline%
\end{tabular}%

after a few minutes when the maximum heap size was almost reached, the throughput became very slow, just a few hundred packets per minute were sent, after 10 minutes it finally stopped.

\noindent Packets sent: 685645 

The hard drive was not busy at all at this point, but no more packets were sent and no further connections to the Data Turbine could be established.

\begin{figure}[!h]
 \centering
 \includegraphics[width=0.6\textwidth]{figures/Test3.png}
 \caption{Test3}
 \label{fig:test3}
\end{figure}


The tests dumped just a many packets to the turbine as possible. That way the effect on the DataTurbine could be determined in case the system is overloaded. The parameter CACHESIZE would be intersting to test, which was not done yet.
To get meaningful test results, a real world scenario would have to be set up. Then the needed hardware and software environment can be adjusted to the needs of thís particular case.
